using System;
using Unity.VisualScripting;
using GameFramework;
using GameFramework.Download;
using UnityGameFramework.Runtime;

namespace LS.UGFUnits
{
    [UnitSurtitle("Base")]
    [UnitCategory("Unity Game Framework/Base")]
    public abstract class BaseInvokeUnit : FrameworkComponentInvokeUnit<BaseComponent>
    {
        [DoNotSerialize]
        public override BaseComponent Target
        {
            get
            {
                var com = FrameworkObserver.Observing() ? FrameworkObserver.Base : null;
                CheckFrameworkAvailable();
                return com;
            }
        }
    }
}